// function get(obj, ...args) {
//     // 请补全函数参数和实现逻辑​
//     let nextArgs = args.map((item) => {
//         let arr = item.split('.').map((item1) => {
//             return item1.split('[').map((item2) => {
//                 return item2.replace(']', '')
//             })
//         })
//         let newArr = []
//         arr.map((item) => {
//             item.map((item) => {
//                 newArr.push(item)
//             })
//         })
//         return newArr.reduce(function (result, item) {
//             return result[item];
//         }, obj)
//     })
//     console.log(nextArgs)
// }

const get = (from, ...selectors) =>
    [...selectors].map(s =>
        s
            .replace(/\[([^\[\]]*)\]/g, '.$1.')
            .split('.')
            .filter(t => t !== '')
            .reduce((prev, cur) => prev[cur], from)
    );
const obj = { selector: { to: { toutiao: 'FE coder' } }, target: [1, 2, { name: 'byted' }] };

// 运行代码​
console.log(get(obj, 'selector.to.toutiao', 'target[0]', 'target[2].name'))

